#include <stdlib.h>
#include <stdio.h>

int *  init(void)
{
    int * m = (int*)malloc(sizeof(int));
    return m;
}
void free_(int **m)
{
    free(*m);
    *m = NULL;
}
int main(int argc, char const * argv[]) 
{
    int * p = init();
    *p = 66;
    printf("%p %d\n", p, *p);
    free_(&p);
    printf("%p\n", p);

    return 0;
}